#-*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Number：     020
# Name:        regular expression正则表达式
# Author:      SUMMVING
# Email:       summving@gmail.com
# Created:     2013/08/23  20:58
# Copyright:   (c) SUMMVING 2013
# Licence:     GPLv3
#-------------------------------------------------------------------------------

import re                                  #使用正则表达式要导入re模块

s = r'abc'                                 #保持字符串的原意，加一个 r；abc可以看作规则
print re.findall(s,'abcddddddd')           #拿规则s与abcdddd比较，相同则输出，输出：['abc']；

print re.findall(s,'ccccc')                #不存在输出空列表:[]

print re.findall(s,'abcddddcbaaabc')       #有两个相同，输出：['abc', 'abc']

"""[]的应用"""
s1 = 'top tip tap tab tup'

res = r'top'                               #设置规则
print re.findall(res,s1)                   #在s1中寻找符合规则res的字符串，输出：['top']

res = r'tip'                               #可随意修改规则
print re.findall(res,s1)

res = r't[io]p'                            #查找t开头p结尾，中间是i或o的字符串，要用[]
print re.findall(res,s1)


""" ^ ,$的应用"""
s2 = "hello world,hello my girl"

r = r"hello"
print re.findall(r,s2)                     #输出：['hello', 'hello']

r = r"^hello"                              #匹配行首是hello的字符串
print re.findall(r,s2)                     #此时只出现一个hello

r = r"girl$"                               #匹配行尾是否有girl
print re.findall(r,s2)

s3 = "^abc,^abcd,^abcde"
r3 = r"\^abc"                              #使用转义字符\,否则不能输出带有原字符^,$等
print re.findall(r3,s3)                    #输出：['^abc', '^abc', '^abc']




